This invention relates to data processing and more specifically to presenting data on one or more computers connected via a computer network such as the Internet.
In the past few years there has been an explosive growth in the use of the globally-linked network of computers known as the Internet, and in particular of the WorldWide Web (WWW), which is one of the facilities provided on top of the Internet. The WWW comprises many pages or files of information, distributed across many different server computer systems. Information stored on such pages can be, for example, details of a company""s organization, contact data, product data and company news. This information can be presented to the user""s computer system (xe2x80x9cclient computer systemxe2x80x9d) using a combination of text, graphics, audio data and video data. Each page is identified by a Universal Resource Locator (URL). The URL denotes both the server machine, and the particular file or page on that machine. There may be many pages or URLs resident on a single server.
In order to use the WWW, a client computer system runs a piece of software known as a graphical Web browser, such as WebExplorer (provided as part of the OS/2 operating system from IBM Corporation), or the Navigator program available from Netscape Communications Corporation. xe2x80x9cWebExplorerxe2x80x9d, xe2x80x9cOS/2xe2x80x9d and xe2x80x9cIBMxe2x80x9d are trademarks of the International Business Machines Corporation, while xe2x80x9cNavigatorxe2x80x9d and xe2x80x9cNetscapexe2x80x9d are trademarks of the Netscape Communications Corporation. The client computer system interacts with the browser to select a particular URL, which in turn causes the browser to send a request for that URL or page to the server identified in the URL. Typically the server responds to the request by retrieving the requested page, and transmitting the data for that page back to the requesting client computer system (the client/server interaction is performed in accordance with the hypertext transport protocol (xe2x80x9cHTTPxe2x80x9d)). This page is then displayed to the user on the client screen. The client may also cause the server to launch an application, for example to search for WWW pages relating to particular topics.
Most WWW pages are formatted in accordance with a language known as HTML (hypertext mark-up language). A data file written in this language contains the data to be displayed via the client""s graphical browser as well as formatting commands which tell the browser how to display the data. Thus a typical Web page includes text together with embedded formatting commands, referred to as tags, which can be used to control the font size, the font style (for example, whether italic or bold), how to lay-out the text, and so on. A Web browser xe2x80x9cparsesxe2x80x9d the HTML script in order to display the text in accordance with the specified format. HTML tags are also used to indicate how graphics, audio and video are manifested to the user via the client""s browser.
Most Web pages also contain one or more references to other Web pages, which need not be on the same server as the original page. Such references may generally be activated by the user selecting particular locations on the screen, typically by clicking a mouse control button. These references or locations are known as hyperlinks, and are typically flagged by the browser in a particular manner (for example, any text associated with a hyperlink may be in a different colour). If a user selects the hyperlink, then the referenced page is retrieved and replaces the currently displayed page.
Further information about HTML and the WWW can be found in xe2x80x9cWorld Wide Web and HTMLxe2x80x9d by Douglas McArthur, p18-26 in Dr Dobbs Journal, December 1994, and in xe2x80x9cThe HTML SourceBookxe2x80x9d by Ian Graham, (John Wiley, New York, 1995).
A common use of a Web page is to provide details concerning a company""s products for sales purposes. In such Web pages, it has been found useful to provide an index Web page where users can search through a lengthy alphabetical list in order to find a hypertext link to another Web page that will provide a list of brands and model numbers of each item appearing in the index. For example, a sporting goods vendor may provide an index listing the word xe2x80x9cbicyclexe2x80x9d as an element in the index. A user could then click on the hypertext link having the textual anchor tag xe2x80x9cbicyclexe2x80x9d in the index and this action would trigger the user""s Web browser to display a Web page listing various brands and models of bicycles which the vendor has for sale.
In order to make the search task easier for the user, the index also generally contains, under a single entry (e.g., xe2x80x9cbicyclexe2x80x9d) an indented list of associated items (e.g., xe2x80x9cSee also: tires, tubes, saddles, water bottles). That is, indented under the index entry xe2x80x9cbicyclexe2x80x9d would be the words xe2x80x9cSee also: tires, tubes, saddles, water bottlesxe2x80x9d. If the user then clicks on an item in this list, corresponding brands and model numbers of the associated list item (e.g., tires) which the vendor has for sale would be displayed on screen. These items (e.g., tires) also appear as individual entries in the index list (in their respective places in alphabetical order) so that a user could directly find them.
The index screen should list synonyms and short names for each item, as some users might be looking not for the name the vendor has chosen (e.g., xe2x80x9cbicyclexe2x80x9d), but instead for a synonym (e.g., xe2x80x9ccyclexe2x80x9d) or short name (e.g., xe2x80x9cbikexe2x80x9d), depending on their preference. For example, a user who has always called a xe2x80x9cbicyclexe2x80x9d a xe2x80x9ccyclexe2x80x9d may look up the letter xe2x80x9ccxe2x80x9d in the index looking for xe2x80x9ccyclexe2x80x9d. Another user may look up the letter xe2x80x9cbxe2x80x9d for xe2x80x9cbikexe2x80x9d rather than for xe2x80x9cbicyclexe2x80x9d.
On the other hand, in the associated list of related items, there is no need to display such alternative names because when the user is looking at this list he is not alphabetically searching for a word he has preconceived but is instead simply reading the word that the vendor has chosen to include in the associated list and which will surely be recognizable to the searcher.
It would be highly advantageous to be able to accommodate both of these requirements simultaneously.
According to one aspect, the present invention provides in a computer system, a method of forming a hyperlinked index of computer-readable pages of information, comprising steps of: accessing a table of stored table entries, each table entry having a long-name field for storing a long name of a first item, a short-name field for storing a short name of the first item and a related-items field for storing a name identifying a second item related to the first item; and for each accessed table entry, forming a main portion of an index entry having an anchor tag displaying the text appearing in said long-name field, and forming an associated portion of the index entry having an anchor tag displaying the text appearing in the short-name field of the table entry of the second item referred to in the related-items field.
In a preferred embodiment, each table entry also has a synonym field for storing a synonym of the long name appearing in the long-name field, and the forming steps form an index entry for each synonym field, with the main portion of this index entry having an anchor tag displaying the text appearing in the synonym field of the table entry.
Thus, the textual content of the anchor tag of a hypertext link in an index page changes according to the context in which the hypertext link exists in such a way that the amount of anchor tag text is reduced when the anchor tag appears in an associated list in the index, and the amount of anchor tag text is expanded (e.g., to include synonyms) when the anchor tag appears as an independent index entry. This greatly reduces the amount of screen space used (thus reducing the amount of screen scrolling required), whilst still allowing alternative versions of text to be used for the independent index entries.
According to a second aspect, the present invention provides an apparatus for carrying out the steps of the method of the first aspect.
According to a third aspect, the invention provides a computer program product stored on a computer-readable storage medium for, when run on a computer, instructing the computer to perform the method of the first aspect.